package cn.b.sky.i18n.dao;

import cn.b.sky.i18n.model.EcodeInfo;
import cn.b.sky.i18n.model.LocaleResourceInfo;
import cn.b.sky.i18n.model.SystemLanguageInfo;
import cn.b.sky.i18n.model.SystemTimeZoneInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface I18nDao {
  /**
   * 
   * <strong>Title : listLanguage<br></strong>
   * <strong>Description : </strong>查询语言<br> 
   * <strong>Create on : 2016-5-9 上午9:24:38<br></strong>
   * <p>
   * @return
   * List<SystemLanguageInfo>
   *  
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<SystemLanguageInfo> listLanguage();

  /**
   * 
   * <strong>Title : listTimeZone<br></strong>
   * <strong>Description : </strong>查询时区<br> 
   * <strong>Create on : 2016-5-9 上午9:24:53<br></strong>
   * <p>
   * @return
   * List<SystemTimeZoneInfo>
   *  
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<SystemTimeZoneInfo> listTimeZone();

  /**
   * 
   * <strong>Title : listEcode<br></strong>
   * <strong>Description : </strong>获取语言ecode<br> 
   * <strong>Create on : 2016-5-9 上午9:25:07<br></strong>
   * <p>
   * @param languageCode
   * @return
   * List<EcodeInfo>
   *  
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<EcodeInfo> listEcode(@Param("languageCode") String languageCode);

  /**
   * 
   * <strong>Title : listLocaleResource<br></strong>
   * <strong>Description : </strong>获取国际化资源列表<br> 
   * <strong>Create on : 2016-5-9 上午9:35:39<br></strong>
   * <p>
   * @param resourceSet
   * @param languageCode
   * @return
   * List<LocaleResourceInfo>
   *  
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<LocaleResourceInfo> listLocaleResource(@Param("resourceSet") String resourceSet,
                                              @Param("languageCode") String languageCode);

  /**
   * 
   * <strong>Title : selectLocaleResourceInfo<br></strong>
   * <strong>Description : </strong>获取单个国际化资源<br> 
   * <strong>Create on : 2016-5-9 上午9:35:59<br></strong>
   * <p>
   * @param resourceSet
   * @param languageCode
   * @param key
   * @return
   * LocaleResourceInfo 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  LocaleResourceInfo selectLocaleResourceInfo(@Param("resourceSet") String resourceSet,
                                              @Param("languageCode") String languageCode, @Param("key") String key);
  
  /**
   * 
   * <strong>Title : listLocaleResourceBySite<br></strong>
   * <strong>Description : </strong>按工厂区分查询国际化资源<br> 
   * <strong>Create on : 2016年6月15日 下午12:58:17<br></strong>
   * <p>
   * @param siteCode
   * @param resourceSet
   * @param languageCode
   * @return
   * List<LocaleResourceInfo>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<LocaleResourceInfo> listLocaleResourceBySite(@Param("siteCode") String siteCode, @Param("resourceSet") String resourceSet, @Param("languageCode") String languageCode);
}
